Data profiling is the process of analyzing source data and gathering information inherent to its internal metadata, data structures, content, relationships, and derivation rules. Profiling allows the user to validate data quality and track anomalies, but also to discover metadata. Currently, data profiling requires that a system first extract data from a data source and place it into a memory. The process of transferring this data can take a lot of time. The result is that data profiling is a slow process, especially as the amount of data grows, including performing table-wide or even cross-table profiling.